﻿#region Using

using System.Linq;
using Vk.Methods.Common;

#endregion

namespace Vk.Methods.Friends
{
    /// <summary>
    ///     Информация о заявке
    /// </summary>
    public class RequestInfo
    {
        /// <summary>
        ///     Сообщение заявки
        /// </summary>
        public string Message { get; set; }

        /// <summary>
        ///     Список идентификаторов общих друзей
        /// </summary>
        public ListCount<int> Mutual { get; set; }

        /// <summary>
        ///     Идентификатор пользователя
        /// </summary>
        public int? UserID { get; set; }

        public RequestInfo(ApiNode node)
        {
            UserID = node.Int("user_id");
            Message = node.String("message");
            var mutual = node.SelectNode("mutual");
            if (mutual == null)
                return;
            var nodes = mutual.SelectNodes("users/user_id");
            if (nodes != null && nodes.Any())
            {
                Mutual = new ListCount<int>(nodes.Count(),
                                            nodes.Select(x => x.Int())
                                                 .Where(x => x.HasValue)
                                                 .Select(x => x.Value)
                                                 .ToList());
            }
        }
    }
}